<?php
namespace app\tjy_v1\middleware;
// 登录检查中间件
class Login
{
    public function handle($request, \Closure $next)
    {
        $pathinfo = strtoupper($request->pathinfo()); //转为大写
        // 特许URL放行
        $array = [
            'GOODSCLS/LISTJSON',//商品分类列表-JSON静态数据
            'GOODS/LIST',//商品档案列表
            'CART/LIST',//购物车列表
            'GOODS/ID',//商品档案找到一条
            'KEYWORD/HOT'
        ];
        //  特许不用登录的URL_除此之外全部要验证登录   
        // in_array — 检查数组中是否存在某个值 
        if (in_array($pathinfo, $array) == true) {
            $permission = true; //特许URL放行
        } else {
            $permission = false; //禁止通行
        }
        $permission = true; //特许URL放行
        if ($permission == false) {
            // if (!preg_match("/login/", $request->pathinfo())) {
            // echo "我不是login登录组件页-控制器<br/>";
            // if (empty(cache('userdb_' . request()->header('token'))) && $request->host() == "net.6-7-8-9.com" && app('http')->getName() != "tjy_v1") {
            $apidb = [
                'code' => 909, //状态码
                'time' => time(),
                'msg' => "当前页面要求登录" . $request->pathinfo(),
                'pathinfo' => $pathinfo,
                // '_COOKIE' => $_COOKIE,
                // '_POST' => $_POST,    //请求数据包--正式版要删除
                // '_GET' => $_GET,    //请求数据包--正式版要删除
                // 'session_id' => Session::getId(), //令牌
                // "session_cache_expire" => session_cache_expire(), //当前缓存期限
                // "_input" => input(), //接收请求参数方式-input
                "_param" => $request->param(),
                // '_session' => session(),
                '_header' => $request->header(),
                'host' => $request->host(),
                // '_cache' => cache('userdb_' . request()->header('token')),
            ];
            return json($apidb);
            // }
        }
        // 前置中间件
        $response = $next($request);
        // 后置中间件
        return $response;
    }
    // 中间件结束调度
    public function end(\think\Response $response)
    {
    }
    // 点击量
    public function read()
    {
        // $id = input('param.id');
        // $userId = 33;
        // Cache::inc("clickNum" . $id);
        // $clickNum = Cache::get("clickNum" . $id);
        // $NewsModel = new NewsModel();
        // $info = $NewsModel->getNewsById($id);
        // $info["data"]["clickNum"] = $clickNum;
        // return json($info);
    }
}
